<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    
    // 参数
    // function fn( a ){
    //     console.log("这是fn函数，被执行了");
    //     a( function( c ){
    //         console.log("这个函数被传给了b，被执行了")
    //         c( "结束了" );
    //     } );
    // }
    // fn( function( b ){
    //     console.log("这个函数被传给了a，被执行了")
    //     b( function( d ){
    //         console.log("这个函数被传给了c，被执行了")
    //         console.log(d);
    //     } );
    // } );

    // 当一个函数A作为参数传到另一个函数B中，作为参数的这个函数A，叫回调函数

    // ========

    // 返回值
    // function fn(){
    //     return function(){
    //         return function(){
    //             console.log("hello")
    //         }
    //     }
    // }
    // fn()()();

    // var a = fn();
    // var b = a();
    // b();

    // 作业：fn(2)(3)(4);            // 9


    // 当一个函数内返回了另一个函数时，返回的那个函数，叫闭包函数



</script>
</html>